Real estate coordination program

ABSTRACT

A process for managing the showing and usage of real estate up for sale. The process allows buyers to schedule a showing or in person viewing of real estate directly through an Internet web site. The buyer will be able to view the schedule of multiple properties in their area giving them the ability to plan their house hunting expeditions. Sellers of real estate may block out times when they do not want their property shown directly from their own computers. Agents will have complete visibility of the seller&#39;s availability time thereby increasing availability to schedule. Sellers will also be able to view when agents have scheduled a showing for their property and gain access to historical records of their property showings. Agents will be able to list properties for showings and make appointments for their clients to view other agents&#39; properties with a click of a mouse. The central scheduling focus will be around the property. The seller&#39;s agent along with the seller will set up pre-conditions allowing a buyer or buyer&#39;s agent to select times for showings around these pre-conditions.

This is the specification and claims for a non-provisional patentapplication claiming priority of provisional patent application Ser. No.60/166,554, filed Nov. 19, 1999.

FIELD OF THE INVENTION

This invention relates generally to a process for scheduling usage of areal estate property and all the parties involved in real estatetransactions: the buyers, the sellers, the agent for the buyers, theagent for the sellers, and vendors such as inspectors. Moreparticularly, this invention relates to an Internet based program formanaging and tracking the timing of activities related to real estateproperty transactions.

BACKGROUND OF THE INVENTION

A potential seller of real estate contacts a listing agent to list thereal estate property. Potential buyers may locate potential propertiesthrough Internet searches or direct communications with buyer's agents.A seller must see the property and may need professional inspection.Prior to a real estate closing the buyer may wish to make a final walkthrough for a final check of the conditions of the property. The currentparadigm of real estate scheduling involves buyers contacting theiragent, who must then contact the seller's agent who then contacts theseller. The property may be unavailable at certain times and the partiesrequired for an activity may not be easily matched. The process mayinvolve multiple iterations until appointments for real estate showings,inspections, and walk through can occur. This outdated method ofcoordinating buyers', sellers', and agents' schedules results in tediousphone tag and frustration on the part of parties not too to mention theobvious inefficiencies. There is no focus to the process of making theproperty available for the different activities to achieve the result ofhaving a transaction of the property.

Accordingly, there is a need for a simpler process that keeps thelisting real estate agents as the center of the online transaction,allows the buyer's agents to respond to the needs of their clients withinstant showing confirmations, and enables agents to respond quickly toclient demands.

SUMMARY OF THE INVENTION

As a result, a primary object of the invention is to provide a simplerprocess keeping the listing real estate agents as the center of theonline transaction. A secondary object of the invention is to allow thebuyer's agents to respond to the needs of their clients with instantshowing confirmations, and enables agents to respond quickly to clientdemands. The present invention satisfies the stated objects of inventionas well as others not stated. The present invention provides a processfor managing the showing and usage of real estate up for sale. Theprocess allows buyers to schedule a showing or in person viewing of realestate directly through an Internet web site. The buyer will be able toview the schedule of multiple properties in their area giving them theability to plan their house hunting expeditions. Sellers of real estatemay block out times when they do not want their property shown directlyfrom their own computers. Agents will have complete visibility of theseller's availability time thereby increasing availability to schedule.Sellers will also be able to view when agents have scheduled a showingfor their property and gain access to historical records of theirproperty showings. Agents will be able to list properties for showingsand make appointments for their clients to view other agents' propertieswith a click of a mouse. The central scheduling focus will be around theproperty. The seller's agent along with the seller will set uppre-conditions allowing a buyer or buyer's agent to select times forshowings around these pre-conditions.

DRAWINGS

Other objects and advantages of the invention will become more apparentupon perusal of the detailed description thereof and upon inspection ofthe drawings in which:

FIG. 1 is an overview of the relationships between the three tiers, theclient, the middle tier, and the database used in a process performed inaccordance with this invention.

FIG. 2 is a flow chart of the relationships between the parties andentities involved in the process of this invention.

FIG. 3 is an example of the appearance of the agent browser display of a“My Listing” view.

FIG. 4 is an example of the appearance of the agent browser display of a“My Schedule” view.

FIG. 5 is an example of the appearance of the agent browser display of a“Schedule Showing” view.

FIG. 6 is a flow chart showing a method for scheduling a real estateshowing performed in accordance with this invention.

FIG. 7 is a second embodiment of a method for scheduling a real estateshowing performed in accordance with this invention.

FIG. 8 is a third embodiment of a method for scheduling a real estateshowing performed in accordance with this invention.

FIG. 9 is a method of scheduling a vendor service on a real estateproperty performed in accordance with this invention.

FIG. 10 is an example of the appearance of a Multiple Listing View witha link to a system made in accordance with this invention.

DETAILS OF INVENTION

There are four principle principal parties or entities involved in theprocess of this invention with two 1 additional types of partiespotentially being involved. There is at least one real estate property119, a seller 120 of the real estate property 119, at least onepotential buyer 122 of the property 119, and a seller's agent 121 forrepresenting the seller 120 which includes showing the property 119 topotential buyers 122. The property 119, the seller 120 and the seller'sagent 121 and any assistants 121A of the seller's agent 121 may bereferred to collectively as the seller's side 129. There may beadditional parties involved in the utilization of the property 119.There may be a buyer's agent 123 for representing the buyer. If there isa buyer's agent 123, then this buyer's agent 123 or an assistant of thebuyer's agent 123A must be present when the buyer 122 is shown theproperty 119. See FIG. 2. The buyer 122, the buyer's agent, and anybuyer's agent assistants 123A may be referred to collectively as thebuyer side 130. The seller side 129 may need to make the property 119available for vendors 124 to perform services related to a sale or othertransaction of the property 119. Some of these services include homeinspections, maintenance people to correct items identified during homeinspections, and photographs of the property 119. Additionally, theseller side 129 may schedule other appointments related to the propertysuch as open houses, caravan showings, and brokers open houses. Eitherof the seller side 129 or the buyer side 130 may need to scheduleappraisals of the property 119.

The process of this invention is novel in its ties to a particular realestate property 119 and the initial parallel logic sequences thatdetermine a sub group of seller side 129 available times 139 and acorresponding sub group of buyer side 130 desired times 140. Thesedeterminations, as will be described, are performed in parallel. Thenthe outputs of the seller side available times 130 139 are compared tobuyer side desired times 140, with the result being a showing time 150of the property 119.

FIG. 1 depicts an overview a data management system for performing theprocess of this invention. The figure depicts the relationships betweenthree tiers, a client or clients, a middle tier 101A, 101B, sometimesherein referred to as middle tier 101, and a database 105, and clientbrowsers or computers 102 used in a process performed in accordance withthis invention. The software maintains a database server 103 over theInternet 104 containing the database 105. All the scheduling ismaintained at this central database 105. The database 105 is replicatedboth on site and off site in real time. There is also a separateprovision to read from any of the databases 105. The database 105 andmiddle tier 101 are comprised of a computer useable medium havingcomputer readable program means embodied in the medium for causing theprocess of scheduling the utilization of the property 119.

Because in software it is almost impossible to program a pure threetiered system, some of the routines, methods, or objects that aredescribed as middle tier 101 functions may in fact be done in thedatabase 105 on the server side or on the client or browser 102 in theclient side.

A second module in the components for performance of the process is themiddle tier 101. This is the interface between a view displayed by abrowser 102 and the database 105. An example of view 102 is the browser102 of FIG. 1. Each display view displayed by a browser 102 calls themiddle tier 101 depending on what is selected by the user. Each routineis a module that makes the decisions on how the data is written to thedatabase 105 and what and how it is taken from the database 105 withhints on how the data is displayed in that particular view. This middletier 101 is generally a third party program and currently can reside inthe server (see middle tier 101) or reside in a separate computer (seemiddle tier 101B). Since it is a separate program, it can run on mostoperating systems. For example in one instance when the middle tier 101is in the server 103 it is run on a Unix type environment using a Unixversion, and in another instance if it is running on a Window's machine,it uses a Windows version. As stated, the middle tier 101 can be onanother server 103A that communicates over the Internet 104 to thedatabase server 103. The initial link to the middle tier 101 is usuallya browser viewing a Multiple Listing View as shown in example in FIG.10.

When the middle tiers 101A or 101B are on the server side most of theintelligence is done on the server 103. The client side will usuallyhave intelligence to allow selections depending on the state of theselected item. This can be done as an applet in the browser, dynamicHTML, Active X, plain HTML, or other intelligence in the client side orbrowser.

The middle tier 101 is a portable component whether it is middle tier101A, or 101B. When the middle tier 101 is on the server side the middletier 101 can either be located on the same computer as the databaseserver 103 (as in middle tier 101A) or on a separate computer 103Aconnected by a LAN, wan, or the Internet (as in middle tier 101B). Thisallows the database server 103 to concentrate its load on justprocessing the database 105, while the middle tier 101 can do intensiveprocessing and data transfer. With this architecture the intensiveprocessing of the middle tier 101 can be scaled by putting the middletier 101B on multiple servers 103A that can communicate with a singledatabase 105. These variations are all shown within FIG. 1 although theymay be used individually or in some combination.

When the middle tier 101 is on the server side, the client can be abrowser such as browser 102. The data from the middle tier 101 is thenshipped off to the browser with generated HTML or the browser may havemore intelligence such as, HTML with Java applets, dynamic HTML, ActiveX or other means of putting intelligence in the browser. The browserwith extra intelligence makes the client more versatile by allowing theclient to make decisions before making calls to the middle tier 101. TheHTML version is faster and more universal and still gets the informationacross but has fewer cues for the user and may require more Internetaccesses.

Views provided by a browser 102 consist of form components such as thetext boxes, cells in a grid, check boxes, etc. The view provided by abrowser 102 is where information translated and filtered from thedatabase 105 through the middle tier 101 is displayed. The view providedby a browser 102 also stores non-displayable state information providedby the middle tier 101 so when an item is selected, the state is used todecide on what is to happen including what calls are made to the middletier 101. The view provided by a browser 102 is used both for schedulingand for entering non-schedule data such as names, addresses, and contactinformation into the database 105. The schedule part of the viewprovided by a browser 102 is more placement or grid oriented while thenon-schedule data are generally more text oriented. Some operations suchas adding notes require both a text box for putting in the note andposition for when the note is scheduled.

The software helps buyer agents 123 and seller agents 121 to managetheir schedules and communication to other agents with respect to theproperties that are listed to be shown. The seller 121 120 is involvedbecause there are times that they do not want the property 119 to beshown or want to see when their property 119 is being shown. The buyer122 is involved because the showings are based on the buyer'savailability to go to the properties or the buyer 122 desiring orwanting to see when a particular property is available to look at.

There are other schedule events related to a real estate transactionbesides showing the property 119. Some tie up just the property 119,some tie up just the agent, and some tie up both the property 119 andthe agent. The owner having a birthday party is an example of just theproperty 119 being tied up. An agent can be tied up showing anotherproperty or attending a meeting. Both the property 119 and the agent canbe tied up in photo sessions, closings, and appraisals. The views haveselection options such as pop-up menus for the user to select what typeof event is being scheduled for the time period. The different eventsshow up on the schedule and enable the user to understand how the timeis being used. Vendors 124 are able to access as a client to eitherallow their time to be scheduled by sellers side 129 or buyers side 130or some combination, or Vendors 124 vendors may schedule their timethemselves if necessary.

There are also two major scheduling models in real estate depending onthe locality. One requires both the buyer agent and seller agent to beat the showing, the other only requires the buyer's agent 123 to be atthe showing. The requirement that both the buyer agent 123 and theseller agent 122 121 have to be at the site implies:

-   -   a. Buyer agent 123 is busy or showing—none of the other houses        that the agent 123 represents can be shown unless transferred to        an assistant 123A.    -   b. If the seller agent 121 is busy or showing—none of the other        houses that the agent 121 represents can be shown unless        transferred to an assistant 121A.    -   c. Property owner, i.e. seller, 120 can block out a time that        the property 119 cannot be shown, and the seller agent 121 is        still able to show other properties.

The second major scheduling model usually requiring a lock box requiresonly the buyer's agent 123 to be there. A buyer 122 cannot schedule theproperty 119 if the buyer agent is busy or the property 119 is busy. Theseller agent 121 is free to show other properties even if one of theagent's properties is being shown.

There are three major perspectives for viewing the data. One is inrespect to the property 119, a second is in respect to an agent, andthird is in respect to a buyer 122. There are a variety of ways todisplay these to meet the needs of buyers 122, sellers 120, and agents.The following are example of views.

Agent sees his schedule. (“My Schedule”). Agent can schedule his or hertime that is not related to a specific property 119 from thisperspective. (such as meetings, personal, times not available). Theagent can also schedule a showing to another property 119 from thisview.

Agent sees his schedule from the perspective of each property listed bythe agent. (“My Listing”). Agent can schedule property specificappointments from this perspective. The agent can schedule anappointment of the property with another agent from this view.

Agent sees the schedule of other properties (“Schedule Showings”). Agentcan schedule their own or other properties from this perspective. Thisscreen really does not do any more in function than what can be done in“My Schedule” and “My Listing” but the view displays it differently suchas the ability to see and schedule more than one property at a time.

Buyer 122 can see the availability of when to schedule a property 119and can schedule a showing. This is a similar view provided by a browser102 as my listing but the buyers 122 do not necessarily get to see whythe property 119 is busy, are limited on how they can schedule anappointment, and can do few if any other functions. The one exception ofan appointment that the buyer 122 does get to see is an open house. Thisway the buyer 122 knows that they can visit the property 119 at thosetime periods without having to make an appointment. Buyer's Buyer 122can in some embodiments schedule his or her unavailable for performingfunctions related to viewing, and purchasing the property 119. This willenable an agent such as the buyer's agent 123 or assistant 123A to setup showings or property related appointments for the buyer 122.

Seller 120 can see when the property 119 is being shown and can blockout time or cancel time slots when they do not want the property 119 tobe shown. They in some cases have more detail than what the buyer 122can see but less detail than the agent can see.

There are views to modify agent information, property information, andviews for login. Additionally, there are views to notify agents of newappointments or cancellations and allowing the agent to acknowledgethem.

As seen above, the various views provided by a browser 102 allow variouslevels of detail depending on the type of user. For instance, a buyer122, seller 120, and seller agent 123 121 essentially look at the sameview 102 when looking at a specific property 119. The agent 123 121 hasthe most control of what can be seen and what can be scheduled orcancelled, while the buyer 122 sees the least detail, only whether theproperty 119 is available to see and an open house, while an owner aseller 120 sees more detail. The buyer 122 can schedule and cancel, theseller 120 can block out times when the property 119 cannot be seen.

Views 102 can be daily, weekly, monthly, and combinations of the aboveviews to overlay more information. The software in different versionsallows access to many of the views 102. The views 102 are operated underparticular logic rules.

-   -   1. In scheduling what shows when one clicks on or selects a grid        depends on the state of the cell chosen and the time when it is        clicked.    -   2. In some places some intelligence combined with the state,        such as when time passes the view makes a time the previously        was in the present or future a time in the past. Also using        coordinates for travel time bases on the time of day (rush        hour). The client can be extremely intelligent and calculate        travel times.    -   3. What middle tier 101 calls to use when clicking on a        grid—depending on the stare of the cell and how clicked.        The middle tier 101 operates as follows:    -   1. Takes the information from the grid, time, duration, agent,        and property agent that the grid supplies and generates a query.    -   2. Gets the info from the query, prioritizes it for the view it        was called from (the library call is limited to the view, if it        is a different view it is a different library call.) Sends        position (time slot) information, state information, display        information (color, text, ToolTips, special boxes such as        notes).        The middle tier 101 can reside in a separate computer or the        database server 103 so depending where it is the view        information is. The call is based on parameters on whether to        send the highest priority or the list by priority for the time        slot.        There are additional miscellaneous features.    -   1. Assistants—A scheduled event such as a showing can be        transferred to an assistant so the property 119 is still busy.        The assistant for this showing tied to the agent so the agent is        aware that the assistant is taking care of the property at that        time.    -   2. All views allow notes to be added so the agent and others can        read information. There are levels that allow who can see the        notes.    -   3. Others can be notified by electronic mail and other means        such as voice mail, page, fax, pda (personal data assistant)        insertions when appointments, cancellations, or changes are made        by others that affect the agent. The receiving agent controls        the notification so that he is in control of how he is notified.    -   4. Agents are allowed to communicate to other agents by clicking        on the time slot, requesting to communicate, and inserting a        message either by typing or inserting by pasting.    -   5. For each property the seller agent has a choice of allowing        instant confirmation or requests based on the agent's response.    -   6. A change view pops up at login or when selected so the agent        is notified of changes. In this view they can confirm requests        so that the others know the appointment is confirmed.        There are critical tables in the database 105. These include:    -   1. Agent—this gives all the information about the agent such as        names, addresses, contact numbers and preferences. Referred to        by the agent id.    -   2. Property—this gives all the information about the property        119 including owner information, price, address, suggested        showing time duration. This also contains a parameter on whether        the seller agent is required to be present upon showing the        property 119. Referred to by the property id.    -   3. Appointment—this includes the property id, buyer agent id,        seller agent id, time and date of appointment, and duration of        appointment, type of appointment, type of note, when the        appointment was made and by id of who made appointment.        Cancellation date and time and by whom. This also includes        whether email, fax, voice mail, pda information, or other        contact was made. It also has a field for acknowledged and by        whom. It also has a notes id field. As the database expands, the        fields of the table may be made smaller by relating the        information to other tables.

Since it is a relational database other tables are used to support theabove tables. Other tables are also used to support the business modelsuch as permissions and how agents are allowed to use the system basedon contracts.

Since this is typically a relational or object oriented database, thedata structure can be changed or divided into different tables, and allthat is required is changing the queries and how handled in the middletier.

The following are example flows of what different views do. A “MyListing” view displays a weeks schedule for a specific listing. See FIG.3 for an example of what the appearance of the computer display of a “MyListing” view. The agent may state information for the view can be suchas (a). an appointment can be made, (b). an appointment can becancelled, (c) an appointment can be changed, (d). only notes can bechanged, (e). an appointment of type property is busy (not a schedule,but property not available to show such as throwing a party). Thesestates may be Boolean variations such as cannot instead of can, and maybe combinations of OR'ed, and AND'ed together. (An example of animplementation where the appointment cannot be cancelled, is where theother agent is busy or showing another property, so the user cannotcancel another agent's appointment). This is where the agent candelineate the unavailable times as described earlier. As one exampleview a user of “My Listing” can do the following and although describedas an agent, a buyer or seller can have permissions to also perform thefollowing.

-   -   1. User chooses date from a calendar, and property from a combo        box that list all the properties. Currently the user clicks a        date on the calendar for the date and clicks on a property from        the list of the combo box of the agent's listings to choose the        listing to schedule or view the schedule. This method of        choosing dates and properties can be easily changed or expanded        by just adding options in the User Interface. If a date or        property is not selected the previous date and property selected        are used. If none have been selected before a default date and        property is used (the default used now is the current date and        the first property of the list). When a property is selected        more detailed information about that property is shown and the        user can also make changes to selected pieces of information and        the view sends to a middle tier routine or object that modifies        the database with the new information. Note that routine or        object is used throughout the specification and claims in the        alternative and the use of one of these terms does is the same        as using the term ‘routine or object’.    -   2. The view provided by a browser 102 calls the middle tier to        query the database for the “My Listing” view. It gives the        middle tier routine or object the agent, date, and property        number to do the query on. The view provided by a browser 102        receives information to put into the schedule. The information        includes, text, tool tips, notes, foreground color, background        color, state information, and other miscellaneous information        for each appointment time and date that is displayable on the        view. The view provided by a browser 102 puts the information in        the correct places based on the format of the view.    -   3. The user can now choose another property, date, leave the        view, or choose a specific time to make or cancel an        appointment. If a date or time is chosen then step 2, as set        forth in the preceding paragraph, is repeated. Leaving the view        hides or closes the view.

The following occurs when a time period is selected for an appointment.The time is parsed into one of three time periods, past, present butwithin time that notice is required (blockout time), and a future timeafter the time that notice is required (after blockout time). If thetime is in the past or within the blockout time the user can only chooseto show notes or a message or can request rather than confirm anappointment. If the time is during within the blockout time the popupmenu also allows the user to schedule the property 119 as busy (ownerthrowing a party, etc) if of state (a) or cancel a property busy (ownerthrowing a party, etc.) if of state (e). If the grid is after theblockout time then the choices available are dependent on the state. Forexample if it is of state (a) then one set of choices are available. Ifit is a state that cannot be cancelled then no choices are available. Ifit is of state (d) only edit notes is available.

When a choice for a scheduled time and duration is made then a call tothe middle tier is made depending on the choice of the menu. Forinstance if an edit note is chosen, then a routine to edit notes ischosen with the parameters of the login agent, the time and date slotthat the note is for, what is in the note, and other information. If a“schedule showing” was chosen then a dialog asking for the otherproperty would come up also allowing for notes and a “schedule showing”middle tier routine or object would be called again with parametersincluding the login agent, the other property, the time, date, andduration, a possible note, and other information. All the other choiceswould call other routines but include the enumeration of the choice inaddition to the parameters such as the login agent, the time, date, andduration, a possible note, and other information.

The page with the login screen is a special case because all that isrequired is the agent ID and the password. The routines called maydepend on how intelligent the client is. If the client is intelligentand the data persists as other views are called, then more informationcan be asked for and saved during login. For example if the client canstore the information then during login a routine can be called togather all the agent's properties information which can be used to filla list box. If the client is very thin or less intelligent then a middletier routine or object that calls for only agent information is called,and the agent's properties information is only gathered when it isneeded in a different view.

Other views work on exactly the same principle as above. They have aplace where they are displayed, the selections available depend onwhether a schedule portion of the view is chosen or a section just tochange information and preferences such as telephone numbers changes orpreference changes. If a schedule selection is chosen the choicesavailable are dependent on the time and state of the appointmentselected and the middle tier routine or object called depends on menuselection chosen and its state.

Travel time determination between appointments can be done either in anintelligent client but would generally be done through the middle tierusing the database and calling other programs. In a “schedule showing”view there is a display of multiple properties to schedule with eachproperty's schedule for the day side by side. In this view the schedulesfor each of the properties are known and, “if the seller agent isrequired to be at the property”, any period where the seller agent 121is busy is also put into the view's schedule. With this information thelibrary middle tier 101 or view provided by a browser 102 can see whereeach already scheduled appointment is located and use an algorithm ortable provided to gray out a time depending on from where the agent lastwas and for each of the properties. This does not work as well in the“My Listing” view or the “My Schedule” view where the property 119 orother agent is chosen by a pop-up menu. This requires the travel timedetermination to be made after the property 119 or agent to schedule isselected and may require the scheduler to slightly adjust the time orduration of the schedule.

Query results are sent through the middle tier 101 which parses theresults and decides how the data should appear in the view includingschedules, colors, tool tips, notes, states, and special messages.

Since the middle tier 101 resides on the server side, the client callsthe middle tier with parameters through the Internet 104 on a server103. The middle tier then uses the parameters and generates a query thatis sent over the Internet to the database 105 on another server 103A orthe middle tier 101A could be on the same server 103 that the database105 resides in. The query results are then sent back to the middle tier101 and processed. The schedules, colors, tool tips, notes, states, andspecial messages are then sent back to the client over the Internet.

The middle tier 101 is the common area for the intelligent processing ofthe data selected in the view to turn it into a query to the database.On the return side the middle tier 101 is the intelligence that tellsthe view what to display in each of the schedule areas, and how to fillin the non-schedule portions such as property 119 and agent information.

The middle tier 101 is a set of different objects or routines withparameters passed for the variables such as agents, properties, times,and duration. The following are the example middle tier calls and anexample flow of each of the calls. Other routines are combinations ofthe following routines or the same routines with filters to allow lessdetail to flow. For example, a buyers 122 screen is essentially the sameas an agent's listing with most of the details blocked out. Encryptedpasswords with changing keys are sent to the libraries 101 for securityto protect the database. The following flows assume the real estatemodel that the selling agent is required to be at the property 119 (theparameter for the property is marked that agent must be present and thelibrary accounts for this parameter). The case where the seller agent121 is not required is a simplification and therefore not shown here.

The client, whoever the party is, may review the columns of theappointment table. Every appointment has space for a buyer agent id, aseller agent id, a property id, a time date duration, and type ofappointment. Other fields of the table include reference to notes, andbookkeeping matters such as time and date appointment made, acknowledgeflags, and other message flags.

There is a simple example to get information for “My Schedule” (a weeklyview), as shown in FIG. 4. My Schedule is the most straightforwardbecause it just checks to see if the party is busy. Parameters sent inthis routine are agent id and date. In one embodiment, the buyer mayalso have a “My Schedule” view or routine describing his or her schedulein regards to real estate shopping. The middle tier 101 then calculatesthe first day of the week, and does a query to the database for theperiod of time from the beginning of the week to the end of the week. Itlooks at the schedule table or tables and searches for all entries thatinclude the agent id as a buyer's agent 123 or the agent id as theseller's agent 121 or the buyer's id. Since it is a relational databaseit gets the other agent and property information during the query. Whenit gets the information back from the database it must check the datafor each time slot. This is the easiest to analyze because if an agentis busy the agent cannot be doing something else. Each category below isessentially a case statement where it puts specific variables into thetext, foreground color, background color, tool tip, note and state ofthe time period (for the view to know what to do when selected). Thecategories are:

-   -   a. It is a property schedule and it is this agent is the seller        agent.    -   b. It is a property schedule and the agent is the buyer's agent.    -   c. It is an appointment type that is not property related but        keeps the agent busy.    -   d. A property is not available to show—this is totally ignored.    -   e. Checks for notes not related to a specific property.

For cases a or b the library middle tier 101 then assigns a text,foreground color, background color, a tag for a tool tip, a tag for anote, and a state that are appropriate for that type. Usually the tooltip gives property and other agent's information if it is a propertyschedule.

For the case c the library middle tier 101 uses an additional casestatement which is used to determine the same as above depending on theappointment type.

This information is passed to the view as parameters or containers. Ifthe client is HTML or there is intelligence in the browser such as aJava applet or DHTML, the parameters are sent to a generator to generatethe HTML tables or the applets.

There are middle tier methods to get information for “My Listing” (aweekly view) with a simple example as follows. This is a little morecomplicated than “My Schedule” because the view attaches the agent to aspecific property and yet must also show that an agent is busy atanother property. Parameters passed to the middle tier 101 for thisroutine would be login agent id, MLS (multi-listing) id of the property,and the date. Among the calculations and processing are to get the firstday of the week from the date. It looks at the schedule table or tablesand searches for all entries that include the agent id as a buyer'sagent 123 or the agent id as the seller's agent 121 or the property idas the id of the property selected. When it gets the information backfrom the database it must check the data for each time slot andcategorizes each time period in the following order and gives it apriority where a is the highest.

-   -   a. Checks to see if it is a property connected appointment and        connected to this particular property. (A non-property related        appointment is an agent at a meeting, not available, etc. A        property-connected appointment is a showing, a photo session, an        appraisal, etc.).    -   b. Checks to see if the login agent is showing this property.    -   c. Checks to see if the login agent is showing another property.    -   d. Checks to see if the login agent is busy or has other types        of appointments connected with other properties.    -   e. Checks for just notes related to the property but nothing        else.

Again each of the categories put in variables for text, foregroundcolor, background color, a tag for a tool tip, a tag for a note, and astate that are appropriate for that type. Category d has an additionalcase like statement to determine what to put in based on appointmenttype. The information is returned to the view in the same manner as 1)above.

There is a Middle tier routine to get information for a “ScheduleShowing” view (a daily view but multiple properties) as follows. The“Schedule Showing” view is a compound view of “My Schedule” and manyproperty listings (“My Listing”). Because it is a compound view, it is alittle more complicated because it contains multiple queries. The middletier 101 also has to prioritize each property column separately torelate to that property. See FIG. 5 for the “Schedule Showing” view.

There is a Middle tier routine to get personal information of an agentas follows. This is a simple query to get the agent information when youknow the agent id. The agent information is gotten directly from theagent table or other tables with relationships to the agent table. Thequery is parsed and sent back to the view.

There is also a Middle tier routine to get property information. This isalmost exactly like getting the information from the agent, but useproperty tables with the property id.

The following routines write to the database 105. When these routineswrite to the database 105, they can also write to a change table that isused by a separate process to send messages such as emails. The changetable is also used to pop up at login so the agent is aware of changesmade to the schedule.

Middle tier routines to schedule an appointment are straightforward.They need to be transaction oriented. The database 105 needs to be sureanother party did not make another appointment after the latest query ofthe schedule to the database. The view would not know that the schedulewas already made. If the first part of the transaction shows anotherscheduled the time, the appointment is not made and an error for theparticular appointment is sent to the view to warn the user that theappointment was not made.

If the time is free the middle tier routine puts the buyer agent id, theseller agent id the property id, the appointment type, schedule time andduration, when the appointment is made, directly into the scheduletable. The type of appointment determines whether the login agent is putinto the buyer agent or seller agent field. In addition, the call by theview helps the middle tier routine determine whether it needs to enter aproperty id or the other agent into the other agent field. As describedabove, the logic involves a computation of the vendor or buyer sidedesired time 140 and the seller side available time 139. The viewfurther compares the buyer side desired time 140 with the seller sideavailable time 139 to calculate a showing time 150.

There are Routines that put in acknowledgments of appointments. Thechanges again are simple queries to the appointment table and the listof changes schedule.

There are Routines to cancel an appointment. Cancelled appointments neednot be deleted; they are marked in a special field of the appointmenttable and ignored by the queries. This is useful for histories.

Some of the compound views work better with a little bit of extraintelligence. A good example is if you have a “schedule showing” withmultiple properties in the view. The views allow you to mark multipleappointments before sending them to the database. The state of the timeperiod from the middle tier 101 is only helpful for interactive Internetcalls. If the agent marks a time, then an intelligent view will notallow the user to mark another property in the same time period beforethe save to the Internet.

For efficiency multiple queries are packed into a single Internet calland parsed on the other end. This saves time when making multipleappointments and in complicated queries for some of the compound views.Stored procedures in the database also help.

There are provisions built in for the client to request a scheduled timeeven when an appointment is less than the time of notice required or formany cases when an appointment may not be available. These special casesflag that the client made a request for an appointment but is aware thatthe appointment is technically not available. The person who the requestwas made then has the option to confirm or reject the appointment.

An extensive call center technology providing access to the sameinformation seen by agents, buyers, and sellers is provided to alloweither a centralized call center or the brokerage's own front desk tohandle inbound and outbound calls required for this service.

Agents and brokerages have access to reports presenting severaldifferent metrics of performance of the system as well as providingagents with the capability to provide information to their listingclients.

In some cases the seller themselves acts as their own agent in atransaction form known in the industry as “for sale by owner”. In thiscase, the technology described herein allows the seller to be theselling agent.

While the invention has been described and illustrated, this descriptionis by way of example only. Additional advantages will occur readily tothose skilled in the art, who may make changes without departing fromthe true spirit and scope of the invention. Therefore, the invention isnot limited to the specific details, representative devices, andillustrated examples in this description.

1. A data management system for scheduling appointments at a real estateproperty through client browsers, comprising: a database server; amiddle tier; said database server for communication with the clientbrowsers through said middle tier; said middle tier programmed forroutines to manage scheduling of utilization of the property related toa real estate transaction; said middle tier programmed routinesincluding steps for transmitting communications to provide a user of thea first client browser with a view of the availability of the propertyfor an appointment related to a real estate transaction upon the browserselecting the property; said middle tier programmed routines includingsteps for receiving, storing data on, and responding to a request fromthe user of the first client browser for an appointment at the propertyat a desired time; said middle tier programmed routines including stepsfor receiving and storing property available and unavailable times forappointments at the property from a seller of the property using asecond client browser; said middle tier programmed routines includingsteps for receiving and storing certain time periods as available andunavailable as far as an agent's availability for appointments from theagent user using a third client browser; said middle tier programmedroutines including steps for displaying the agent availability to aclient user viewing property availability for scheduling an appointment;said middle tier programmed routines including steps for communicatinginformation for an agent user to view the agent users user's scheduleincluding entries related to properties including the property and toother agent user appointments not related to properties; said middletier programmed routines including steps for communicating informationfor an the agent user to view availability and unavailability of theagent users user's listed real estate properties; said middle tieroperating under a scheduling model requiring both a buyer agent and aseller agent to simultaneously be at showing appointments at theproperty; said middle tier having a programmed logic rule that if abuyer agent is busy or showing, none of the other properties that thebuyer agent represents can be shown unless transferred to an assistantof buyer; said middle tier having a programmed logic rule that if aseller agent is busy or showing, none of the other properties that theseller agent represents can be shown unless transferred to an assistantof seller; and said middle tier having a programmed logic rule that anowner of the property owner can block out a time that the property isunavailable, and the seller agent is still able to show otherproperties.